import request from '@/utils/request'

/**
 * 获取学科列表
 * @param {Number} page 当前页数
 * @param {*} pagesize 页尺寸
 * @param {*} subjectName 学科名称
 * @returns
 */
export function getSubjectsListApi(page, pagesize, subjectName) {
  return request({
    url: '/subjects',
    method: 'get',
    params: {
      page,
      pagesize,
      subjectName
    }
  })
}

/**
 * 学科添加
 * @param {*} subjectName 学科名称
 * @param {*} isFrontDisplay 是否在页面显示 1是 0否
 * @returns
 */
export function addSubjectsApi(subjectName, isFrontDisplay) {
  return request({
    url: '/subjects',
    method: 'POST',
    data: {
      subjectName,
      isFrontDisplay
    }
  })
}

/**
 * 学科修改
 * @param {*} id 数据id
 * @param {*} subjectName 学科名称
 * @returns
 */
export function editSubjectsApi(data) {
  return request({
    url: `/subjects/${data.id}`,
    method: 'PUT',
    data
  })
}

/**
 * 学科删除
 * @param {*} id 数据id
 * @returns
 */
export function delSubjectsApi(id) {
  return request({
    url: `/subjects/${id}`,
    method: 'DELETE'
  })
}

/**
 * 学科简单列表
 * @param {*} subjectName 学科名称
 * @returns
 */
export function getSubjectsSimpleApi(subjectName) {
  return request({
    url: '/subjects/simple',
    method: 'GET',
    params: {
      subjectName
    }
  })
}

/**
 * 获取目录列表
 * @param {*} page 当前页数
 * @param {*} pagesize 页尺寸
 * @param {*} subjectID 学科ID
 * @param {*} directoryName 目录名称
 * @param {*} state 状态 1 开启 0 屏蔽
 * @returns
 */
export function getDirectorysListApi(page, pagesize, subjectID, directoryName, state) {
  return request({
    url: '/directorys',
    method: 'get',
    params: {
      page,
      pagesize,
      subjectID,
      directoryName,
      state
    }
  })
}

/**
 * 目录添加
 * @param {*} subjectID 学科ID
 * @param {*} directoryName 目录名称
 * @returns
 */
export function addDirectorysApi(subjectID, directoryName) {
  return request({
    url: '/directorys/',
    method: 'POST',
    data: {
      subjectID,
      directoryName
    }
  })
}

/**
 * 目录修改
 * @param {*} id 数据ID
 * @param {*} subjectID 学科ID
 * @param {*} directoryName 目录名称
 * @returns
 */
export function editDirectorysApi(data) {
  return request({
    url: `/directorys/${data.id}`,
    method: 'PUT',
    data
  })
}

/**
 * 目录删除
 * @param {*} id 目录ID
 * @returns
 */
export function delDirectorysApi(id) {
  return request({
    url: `/directorys/${id}`,
    method: 'DELETE'
  })
}

/**
 * 目录状态
 * @param {*} id 数据ID
 * @param {*} state 状态 1 启用 0 屏蔽
 * @returns
 */
export function stateDirectorysApi(id, state) {
  return request({
    url: `/directorys/${id}/${state}`,
    method: 'POST'
  })
}

/**
 * 获取标签列表
 * @param {*} page 当前页数
 * @param {*} pagesize 页尺寸
 * @param {*} subjectID 学科ID
 * @param {*} tagName 标签名称
 * @param {*} state 状态 1 开启 0 屏蔽
 * @returns
 */
export function getTagsListApi(page, pagesize, subjectID, tagName, state) {
  return request({
    url: '/tags',
    method: 'get',
    params: {
      page,
      pagesize,
      subjectID,
      tagName,
      state
    }
  })
}

/**
 * 标签添加
 * @param {*} subjectID 学科ID
 * @param {*} tagName 标签名称
 * @returns
 */
export function addTagsApi(subjectID, tagName) {
  return request({
    url: '/tags/',
    method: 'POST',
    data: {
      subjectID,
      tagName
    }
  })
}

/**
 * 标签修改
 * @param {*} id 数据ID
 * @param {*} subjectID 学科ID
 * @param {*} tagName 标签名称
 * @returns
 */
export function editTagsApi(data) {
  return request({
    url: `/tags/${data.id}`,
    method: 'PUT',
    data
  })
}

/**
 * 标签删除
 * @param {*} id 数据ID
 * @returns
 */
export function delTagsApi(id) {
  return request({
    url: `/tags/${id}`,
    method: 'DELETE'
  })
}

/**
 * 标签状态
 * @param {*} id 数据ID
 * @param {*} state 状态 1 启用 0 屏蔽
 * @returns
 */
export function stateTagsApi(id, state) {
  return request({
    url: `/tags/${id}/${state}`,
    method: 'POST'
  })
}
